package com.jctrip.hotel.source.model.rezen.req;

import java.io.Serializable;
import java.util.List;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @Author henry
 * @Date 2023/8/11 11:23
 * @Description
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class RezenPostOrderReq implements Serializable {
    private String checkInDate;
    private String checkOutDate;
    private List<String> comments;
    private Long companyId;
    private ContactPerson contactPerson;
    private String distributorResId;
    private Long groupId;
    private String hotelCode;
    private Long hotelId;
    private String hourlyRoomEndTime;
    private String hourlyRoomStartTime;
    private InHotel inHotel;
    private Integer roomQuantity;
    private RoomRate roomRate;
    private Integer totalAmount;

    @Data
    @Builder
    @NoArgsConstructor
    @AllArgsConstructor
    public static class ContactPerson {

        private String distributionMemberLevelCode;
        private String firstName;
        private String lastName;
        private String phone;
    }

    @Data
    public static class InHotel {

        private String expectArriveInTime;
    }

    @Data
    @Builder
    @NoArgsConstructor
    @AllArgsConstructor
    public static class DailyRateList {

        private Integer breakfastCnt;
        private String effectDate;
        private Integer roomPrice;
    }

    @Data
    @Builder
    @NoArgsConstructor
    @AllArgsConstructor
    public static class RoomRate {

        private List<DailyRateList> dailyRateList;
        private Integer paymentType;
        private Long productId;
        private Long rateId;
        private Long roomtypId;
    }

}
